The present invention relates in general to processing Virtual Connection Descriptors in networking systems, and more particularly to on-chip storage of Virtual Connection Descriptors on a single-chip network processing device to enhance system performance.
The need for faster communication among computers and other systems requires ever faster and more efficient networks. Today, networks typically use an amalgam of various software and hardware to implement a variety of network functions and standards. Network devices such as client computer systems, servers, hubs, routers, switches, network backbones, etc., are each complex devices that require digital processing in hardware and software to facilitate network communication. Some tasks performed in a network device include translation between different network standards such as Ethernet and Asynchronous Transfer Mode (ATM), reformatting of data, traffic scheduling, routing of data cells, packets messages, etc. Depending on the particular protocol being implemented, some tasks may be performed at different points in the network.
In conventional networking systems that implement asynchronous Transfer Mode (ATM), data traffic is handled by a Virtual Channel, or Virtual Connection (VC). There are typically many VCs in each system and each VC has its own characteristics, such as packet type, packet size and protocols. Therefore, each VC requires its own descriptor that identifies the particular VC and its characteristics and requirements. In a typical system, the VC descriptors are stored in the system memory. In order to process data for a VC (whether for receiving or transmitting data for a particular VC), the system reads the associated VC descriptor from the system memory, and then processes and updates the VC descriptor. However, system memories typically have limited bandwidth and slow memory access times, so data transfer performance and network efficiency can be degraded when accessing and processing VC descriptors stored on system memory. This is especially the case when processing data for certain VCs, such as VCs for real-time video or voice, which require high bandwidth and fast memory access times for optimal performance. Accordingly, what is needed in the art are techniques for improving the ability of a network device to process VC descriptors quicker so as to provide increased throughput and enhanced network efficiency.